//
//  LTBaseTableViewController.swift
//  微博08
//
//  Created by 123 on 16/2/29.
//  Copyright © 2016年 Tsr. All rights reserved.
//

import UIKit

class LTBaseTableViewController: UITableViewController {
    
    var userLogin = false
    
    // 当用户没有登录,使用自定义的界面,如果用户登录了就走父类的流程
    override func loadView() {
        userLogin ? super.loadView() : setupVisitorView()
    }
    
    // 设置访客视图
    func setupVisitorView() {
        self.view = visitorView
        
        // 设置代理
        visitorView.visitorDelegate = self
        
        // 来判断是哪个控制器
        // LTHomeViewController.self 和 OC = [LTHomeViewController class]
        // is 判断一个对象是否是某类型
        // as 类型转换的
        if self is LTHomeViewController {
            visitorView.iconViewRotation()
        } else if (self is LTMessageViewController) {
            visitorView.setupVisitorView("visitordiscover_image_message", message: "登录后，别人评论你的微博，发给你的消息，都会在这里收到通知")
        } else if (self is LTDiscoverViewController) {
            visitorView.setupVisitorView("visitordiscover_image_message", message: "登录后，最新、最热微博尽在掌握，不再会与实事潮流擦肩而过")
        } else if (self is LTMeViewController) {
            visitorView.setupVisitorView("visitordiscover_image_profile", message: "登录后，你的微博、相册、个人资料会显示在这里，展示给别人")
        }
        
        // 添加导航栏的点击按钮
        navigationItem.leftBarButtonItem = UIBarButtonItem(title: "注册", style: UIBarButtonItemStyle.Plain, target: self, action: "registerViewButtonClick")
        
        navigationItem.rightBarButtonItem = UIBarButtonItem(title: "登录", style: UIBarButtonItemStyle.Plain, target: self, action: "loginViewButtonClick")
    }
    
    // MARK: - 懒加载
    lazy var visitorView: LTVisitorView = LTVisitorView()
}

// MARK: LTVisitorViewDelegate 代理方法
// 相当于OC中的分类,只能添加方法,不能添加属性
extension LTBaseTableViewController: LTVisitorViewDelegate {
    // 显示代理方法
    func registerViewButtonClick() {
        
        let shareInstance = LTNetworkTools.sharedInstance
        
        print("登录界面的回调地址: \(shareInstance.oauthLoginUrl())")
    }
    
    func loginViewButtonClick() {
        let oauthVC = LTOauthViewController()
        
        
        presentViewController(UINavigationController(rootViewController: oauthVC), animated: true, completion: nil)
    }
}
